computational problem solving examples